1 package activity;
2
3 import java.lang.*;
4 import javax.swing.*;
5 import javax.swing.table.*;
6 import java.awt.*;
7 import javax.swing.border.*;
8 import java.awt.event.*;
9 import attr.*;
10
11 public class ViewEmployeeActivity extends JFrame implements ActionListener {
12 private JPanel panel;
13 private JFrame activity;
14 private Employee employee;
15 private JScrollPane frame;
16 JComboBox byWhatCB;
17 JTable table;
18 private JButton buttonLogout, buttonBack, buttonCheck, buttonAddEmployee;
19 private JLabel title, header, keywordLabel;
20 JTextField keywordTF;
21
22 public ViewEmployeeActivity(JFrame prev, Employee employee) {
23 super("View Employee");
24
25 this.setSize(Theme.GUI_WIDTH, Theme.GUI_HEIGHT);
26 this.setResizable(false);
27 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
28 this.setLocationRelativeTo(null);
29 this.activity = prev;
30
31 panel = new JPanel();
32 panel.setLayout(null);
33 panel.setBackground(Theme.BACKGROUND_PANEL);
34
35 title = new JLabel("View Employee");
36 title.setBounds(30, 40, 340,75);
37 title.setOpaque(true);
38 title.setBorder(new EmptyBorder(0,20,0,0));
39 title.setFont(Theme.FONT_TITLE);
40 title.setForeground(Theme.COLOR_TITLE);
41 panel.add(title);
42
43 buttonLogout = new JButton("Logout");
44 buttonLogout.setBounds(Theme.GUI_WIDTH-140, 40, Theme.BUTTON_PRIMARY_WIDTH,30);
45 buttonLogout.setFont(Theme.FONT_BUTTON);
46 buttonLogout.setBackground(Color.WHITE);
47 buttonLogout.setForeground(Theme.COLOR_TITLE);
48 buttonLogout.addActionListener(this);
49 panel.add(buttonLogout);
50
51 buttonBack = new JButton("Back");
52 buttonBack.setBounds(Theme.GUI_WIDTH-140, 80, Theme.BUTTON_PRIMARY_WIDTH,30);
53 buttonBack.setFont(Theme.FONT_BUTTON);
54 buttonBack.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
55 buttonBack.setForeground(Theme.COLOR_BUTTON_PRIMARY);
56 buttonBack.addActionListener(this);
57 panel.add(buttonBack);
58
59 buttonAddEmployee = new JButton("Add");
60 buttonAddEmployee.setBounds(Theme.GUI_WIDTH-140, 115, Theme.BUTTON_PRIMARY_WIDTH, 30);
61 buttonAddEmployee.setFont(Theme.FONT_BUTTON);
62 buttonAddEmployee.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
63 buttonAddEmployee.setForeground(Theme.COLOR_BUTTON_PRIMARY);
64 buttonAddEmployee.addActionListener(this);
65 panel.add(buttonAddEmployee);
66
67 keywordLabel = new JLabel("Keyword: ");
68 keywordLabel.setBounds(60, 140, 140, 30);
69 keywordLabel.setFont(Theme.FONT_REGULAR);
70 panel.add(keywordLabel);
71
72 keywordTF = new JTextField();
73 keywordTF.setBounds(160, 140, 240, 30);
74 keywordTF.setFont(Theme.FONT_INPUT);
75 panel.add(keywordTF);
76
77 byWhatCB = new JComboBox(new Object[]{"By ID", "By Name"});
78 byWhatCB.setBounds(400, 140, 100,30);
79 byWhatCB.setFont(Theme.FONT_INPUT);
80 panel.add(byWhatCB);
81
82 buttonCheck = new JButton("Search");
83 buttonCheck.setBounds(500, 140, Theme.BUTTON_PRIMARY_WIDTH,30);
84 buttonCheck.setFont(Theme.FONT_BUTTON);
85 buttonCheck.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
86 buttonCheck.setForeground(Theme.COLOR_BUTTON_PRIMARY);
87 buttonCheck.addActionListener(this);
88 panel.add(buttonCheck);
89
90 table = new JTable();
91 DefaultTableModel model = new DefaultTableModel();
92 model.setColumnIdentifiers(Employee.columnNames);
93 table.setModel(model);
94 table.addMouseListener(new MouseAdapter() {
95 public void mouseClicked(MouseEvent evt) {
96 jTable_ClickMouseClicked(evt);
97 }
98 });
99 frame = new JScrollPane(table);
100 frame.setBounds(40,185,600,300);
101 panel.add(frame);
102
103 table.setModel(Employee.searchEmployee("", "By Name"));
104
105 header = new JLabel();
106 header.setBackground(Theme.BACKGROUND_HEADER);
107 header.setOpaque(true);
108 header.setBounds(0, 0, Theme.GUI_WIDTH, 75);
109 panel.add(header);
110
111 this.add(panel);
112 }
113
114 public void actionPerformed(ActionEvent ae) {
115 if (ae.getSource().equals(buttonLogout)) {
116 this.setVisible(false);
117 new LoginActivity().setVisible(true);
118 }
119 else if (ae.getSource().equals(buttonBack)) {
120 this.setVisible(false);
121 activity.setVisible(true);
122 }
123 else if (ae.getSource().equals(buttonAddEmployee)) {
124 this.setVisible(false);
125 new AddEmployeeActivity(this, employee).setVisible(true);
126 }
127 else if (ae.getSource().equals(buttonCheck)) {
128 table.setModel(Employee.searchEmployee(keywordTF.getText().trim(), byWhatCB.getSelectedItem().toString()));
129 }
130 else {}
131 }
132
133 private void jTable_ClickMouseClicked(MouseEvent evt) {
134 int index = table.getSelectedRow();
135
136 TableModel model = table.getModel();
137
138 String value1 = model.getValueAt(index, 0).toString();
139 new ManageEmployee(value1, this).setVisible(true);
140 }
141 }